DIR_NUCLEO = /usr/bin
DIR_NUCLEO_INST = ./nucleo
DIR_MICHELLE = /etc/michelle
DIR_MODULOS = /etc/michelle/modulos
DIR_MODULOS_INST = ./modulos
#Ubicación de chsh/shutdown y permisos originales y nuevos, para restaurarlos
DIR_SHUTDOWN = /sbin/shutdown
DIR_USER_SHUT = /bin/shutdown
DIR_CHSH = /usr/bin/chsh
PERM_ORIG_CHSH = 755
PERM_NUEVO_CHSH = 755
PERM_MODULOS = 755
#Lista de archivos que conforman el nucleo
ARCHNUCLEO = $(notdir $(wildcard $(DIR_NUCLEO_INST)/*))
USUARIO = $(shell whoami)
INUSERNAME =

.PHONY: instalar configurar desinstalar precheck

#target por default en caso que no se ingrese algún target valido
default: precheck
	@echo "Ayuda de instalación de Michelle"
	@echo "Los targets validos son: "
	@echo "	make instalar"
	@echo "	make configurar"
	@echo "	make desinstalar"

#target instalar
instalar: precheck
	@echo "Instalando componentes de Michelle..."
	-mkdir $(DIR_MICHELLE)
	cp -Rf $(DIR_MODULOS_INST) $(DIR_MICHELLE)
	cp -f $(DIR_NUCLEO_INST)/* $(DIR_NUCLEO)
	cp modcomando modperiodico $(DIR_MICHELLE)
	find $(DIR_MODULOS) -name '*.sh' -exec chmod $(PERM_MODULOS) {} \;
	chmod $(PERM_NUEVO_CHSH) $(DIR_CHSH)
	chmod u+s $(DIR_SHUTDOWN)
	ln -s $(DIR_SHUTDOWN)  $(DIR_USER_SHUT)
	@echo "Instalación completada"

#target configurar
configurar: precheck
	@sh configuracion.sh

#target desinstalar
desinstalar: precheck
	@echo "Desinstalando componentes de Michelle..."
	-rm -rf $(DIR_MICHELLE)
	-$(foreach arch,$(ARCHNUCLEO),rm -f $(DIR_NUCLEO)/$(arch))
	chmod $(PERM_ORIG_CHSH) $(DIR_CHSH)
	chmod u+s $(DIR_CHSH)
	chmod u-s $(DIR_SHUTDOWN)
	rm -f $(DIR_USER_SHUT)
	@echo "Desinstalación completada"

#Si el usuario no es root, se aborta el makefile
precheck:
ifneq ($(USUARIO),root)
	@echo "Solo el usuario root tiene permiso para ejecutar el Makefile"
	@exit 1
endif
